package com.zhongge.code;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @ClassName Test03
 * @Description TODO
 * @Author 笨忠
 * @Date 2025/9/21 20:39
 * @Version 1.0
 */
public class Test03 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //输入一个字符串
        String str = in.nextLine();
        //使用集合试一下
        ArrayList<Character> list = new ArrayList<>();
        for (int i = 0; i < str.length(); i++) {
            list.add(str.charAt(i));
        }
        //我首先定义一个容器==》到时候用来存储不重复的数据
        StringBuilder stringBuilder = new StringBuilder();
        //那么我就去遍历str字符串 全程以 i 为主导
        int i = 0;//初始的时候i从0开始
        int j = i + 1;//初始的时候j从1开始
        int len = list.size();
        while (j < len) {
            char tmpI = list.get(i);
            char tmpJ = list.get(j);
            if (tmpI == tmpJ) {
                int x = 0;
                while (x < 2) {
                    list.remove(i);
                    x ++;
                }
                i = 0;
                j = i + 1;
            } else {
                i++;
                j++;
            }
            len = list.size();
        }
        if (list.isEmpty()) {
            System.out.println(0);
        } else {
            for (int k = 0; k < list.size(); k++) {
                stringBuilder.append(list.get(k));
            }
        }
        System.out.println(stringBuilder.toString());
    }
    public static void main4(String[] args) {
        Scanner in = new Scanner(System.in);
        //输入一个字符串
        String str = in.nextLine();
        //我首先定义一个容器==》到时候用来存储不重复的数据
        StringBuilder stringBuilder = new StringBuilder(str);
        //那么我就去遍历str字符串 全程以 i 为主导
        int i = 0;//初始的时候i从0开始
        int j = i + 1;//初始的时候j从1开始
        while (j < str.length()) {
            //先取出数据
            char tmpI = str.charAt(i);
            char tmpJ = str.charAt(j);

            if (tmpI == tmpJ) {//如果相同 那么我就将他们之前和之后的先加入到容器中
                //先初始化
                stringBuilder = new StringBuilder();
                boolean flag = false;
                int m = 0;
                while (m < i) {
                    stringBuilder.append(str.charAt(m));
                    m++;
                    flag = true;
                }
                int n = j + 1;
                while (n < str.length()) {
                    stringBuilder.append(str.charAt(n));
                    n++;
                    flag = true;
                }
                if (flag){
                    //然后重新跟新str
                    str = stringBuilder.toString();
                    //继续从后最初开始
                    i = 0;
                    j = i + 1;
                } else {
                    stringBuilder.append(str.charAt(m));
                    break;
                }
            } else {//否则不相等就指针后移即可
                i++;
                j++;
            }
        }
        System.out.println((stringBuilder.length() == 0) ? 0 : stringBuilder.toString());
    }
    public static void main3(String[] args) {
        Scanner in = new Scanner(System.in);
        //输入一个字符串
        String str = in.nextLine();
        //我首先定义一个容器==》到时候用来存储不重复的数据
        StringBuilder stringBuilder = new StringBuilder(str);
        //那么我就去遍历str字符串 全程以 i 为主导
        int i = 0;//初始的时候i从0开始
        int j = i + 1;//初始的时候j从1开始
        while (j < str.length()) {
            //先取出数据
            char tmpI = str.charAt(i);
            char tmpJ = str.charAt(j);

            if (tmpI == tmpJ) {//如果相同 那么我就将他们之前和之后的先加入到容器中
                //先初始化
                stringBuilder.delete(0, stringBuilder.length());
                if ( i != 0 || j != 1) {
                    int m = 0;
                    while (m < i) {
                        stringBuilder.append(str.charAt(m));
                        m++;
                    }
                    int n = j + 1;
                    while (n < str.length()) {
                        stringBuilder.append(str.charAt(n));
                        n++;
                    }
                    //然后重新跟新str
                    str = stringBuilder.toString();
                    //继续从后最初开始
                    i = 0;
                    j = i + 1;
                } else {
                    stringBuilder.delete(0, stringBuilder.length());
                    break;
                }
            } else {//否则不相等就指针后移即可 就有将i处存入容器
                i++;
                j++;
            }
        }
        System.out.println((stringBuilder.length() == 0) ? 0 : stringBuilder.toString());
    }
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        //输入一个字符串
        String str = in.nextLine();
        //我首先定义一个容器==》到时候用来存储不重复的数据
        StringBuilder stringBuilder = new StringBuilder(str);
        //那么我就去遍历str字符串 全程以 i 为主导
        int i = 0;//初始的时候i从0开始
        int j = i + 1;//初始的时候j从1开始
        while (j < stringBuilder.length()) {
            //先取出数据
            char tmpI = stringBuilder.charAt(i);
            char tmpJ = stringBuilder.charAt(j);

            if (tmpI == tmpJ) {//如果相同 那么就将他们删掉然后指针回到最初
                stringBuilder.delete(i, j + 1);//顾前不顾后 [i,j+1)==>[i,j]
                i = 0;
                j = i + 1;
            } else {//否则就指针后移即可
                i++;
                j++;
            }
        }
        System.out.println((stringBuilder.length() == 0) ? 0 : stringBuilder.toString());
    }
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        //输入一个字符串
        String str = in.nextLine();
        //我首先定义一个容器==》到时候用来存储不重复的数据
        StringBuilder stringBuilder = new StringBuilder();
        //那么我就去遍历str字符串 全程以 i 为主导
        int i = 0;//初始的时候i从0开始
        int j = i + 1;//初始的时候j从1开始
        while (j <= str.length()) {
            //调试后的特殊处理
            if (j == str.length()) {
                stringBuilder.append(str.charAt(i));
                break;
            }
            //首先进来我先看一下
            char tmpI = str.charAt(i);
            char tmpJ = str.charAt(j);
            //如果i处的值和j处的值不相同==》那么就直接将i处
            //的值加入到容器中 然后 i和j向后移动一位
            if (tmpI != tmpJ){
                //存值i处的值
                stringBuilder.append(tmpI);
                //都后移一位
                i++;
                j++;
            } else {//如果相等 那么就i和j后移两位
                i = i + 2;
                j = j + 2;
            }
        }
        //那么最后就是处理结果了
        //如果最后stringBuilder是空的话，那么就输出0
        //如果最后stringBuilder有数据 那么就将他转为字符串然后再输出
        System.out.println((stringBuilder.length() == 0) ? 0 : stringBuilder.toString());
    }
}
